A computer network typically comprises a number of network devices interconnected by communications media. One or more devices connected to the network may provide functionality including relaying or routing of network information between two or more devices coupled to the network. A typical network may employ a number of switches to provide this functionality, and each switch may switch and/or route packets between one or more other network devices, or between one or more networks.
Network devices, such as switches, that direct data in a computer network rely on a routing and/or address table to send the data to correct destinations. This table typically links or matches an Internet protocol (IP) address or hardware address, such as a media control access (MAC) address, to a port address and/or a destination address. For example, when a switch receives a packet containing a TCP/IP Layer 2/3/4 address, the switch may perform a table lookup on the destination address of the packet in order to determine on which port to forward the packet. A table such as an address table may be built by learning the unresolved addresses from received packets and adding the learned addresses to the table, for example.
Tables, such as address tables, may be maintained by a switch, and may be used for making forwarding decisions, for example. In addition, a switch may comprise a processor subsystem. The processor subsystem may perform system management functions, and may additionally maintain one or more tables such as an address table, where the one or more tables may be used for system management functions. In operation, these multiple tables of address information may become unsynchronized. In order to update the database, the processor of the processor subsystem may poll the switch at regular intervals. However, this may result in long duration between polling operations where the tables may be unsynchronized. Additionally, this method of updating may unduly burden one or more components of the switch and may, for example, affect the ability of a switch to learn new addresses. A need exists, therefore, for a method of table synchronization that reduces the time period that two or more tables are out of synch, while not unduly burdening one or more subsystems of a network device such as a switch.